package org.dromara.system.domain.vo;

import org.dromara.system.domain.GzhUser;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 公众号关注用户视图对象 gzh_user
 *
 * @author Lion Li
 * @date 2024-06-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = GzhUser.class)
public class GzhUserVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 用户在小程序和公众号的标识
     */
    @ExcelProperty(value = "用户在小程序和公众号的标识")
    private String unionid;

    /**
     * 用户公众号标识 OpenID
     */
    @ExcelProperty(value = "用户公众号标识 OpenID")
    private String openid;

    /**
     * 用户是否订阅公众号（1表示订阅，0表示未订阅）
     */
    @ExcelProperty(value = "用户是否订阅公众号", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=表示订阅，0表示未订阅")
    private Long subscribe;

    /**
     * 用户订阅时间戳
     */
    @ExcelProperty(value = "用户订阅时间戳")
    private Long subscribeTime;

    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户昵称")
    private String nickname;

    /**
     * 用户性别（1表示男性，2表示女性，0表示未知）
     */
    @ExcelProperty(value = "用户性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=表示男性，2表示女性，0表示未知")
    private Long sex;

    /**
     * 用户所在国家
     */
    @ExcelProperty(value = "用户所在国家")
    private String country;

    /**
     * 用户所在省份
     */
    @ExcelProperty(value = "用户所在省份")
    private String province;

    /**
     * 用户所在城市
     */
    @ExcelProperty(value = "用户所在城市")
    private String city;

    /**
     * 用户的语言，例如 "zh_CN" 表示简体中文
     */
    @ExcelProperty(value = "用户的语言，例如 zh_CN 表示简体中文")
    private String language;

    /**
     * 用户头像 URL
     */
    @ExcelProperty(value = "用户头像 URL")
    private String headimgurl;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remark;

    /**
     * 用户所在的分组 ID
     */
    @ExcelProperty(value = "用户所在的分组 ID")
    private Long groupid;


}
